package org.datascooter.inface;

import java.io.File;

import org.datascooter.exception.SnipManagerException;
import org.datascooter.meta.TableReplace;
import org.datascooter.utils.policy.BackupPolicy;
import org.datascooter.utils.policy.RestorePolicy;

public interface IBackupManager {

	public void backup(String shemaName, String dirPath, String fileName, BackupPolicy backupPolicy, boolean include, String... tables) throws SnipManagerException;

	public void backupToSql(String shemaName, String dirPath, String fileName, BackupPolicy backupPolicy, boolean include, String... tables) throws SnipManagerException;

	public void restore(String shemaName, String dirPath, String fileName, RestorePolicy restorePolicy, boolean include, String... tables) throws SnipManagerException;

	public void setExecuteBefore(File... files);

	public void setExecuteBefore(String... scripts);

	public void setExecuteAfter(File... files);

	public void setExecuteAfter(String... scripts);

	public void setDataReplace(TableReplace... files);
}
